package com.cxhc.system.mapper.hcdoc;

import com.cxhc.common.annotation.DataSource;
import com.cxhc.common.enums.DataSourceType;
import com.cxhc.system.domain.hcdoc.HdApprovalForm;
import com.cxhc.system.domain.hcdoc.HdProjectInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 用户表 数据层
 * 
 * @author wuxuan
 */
public interface HdApprovalFormMapper
{


    /**
     * 查询环创文档中心审批信息
     *
     * @param id 账号
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    HdApprovalForm selectById(@Param("id")String id);

    /**
     * 查询环创文档中心审批信息
     *
     * @param id 账号
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    Map<String,Object> selectDetialById(@Param("id")String id);

    /**
     * 新增环创文档中心审批信息
     *
     * @param hdApprovalForm HdProjectInfo
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    int insert(HdApprovalForm hdApprovalForm);

    /**
     * 查询环创文档中心审批信息列表
     *
     * @param hdApprovalForm HdProjectInfo
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    List<HdApprovalForm> selectList(HdApprovalForm hdApprovalForm);

    /**
     * 查询环创文档中心审批信息列表
     *
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    List<Map<String,String>> selectListForSmallBell();

    /**
     * 查询环创文档中心审批信息列表
     *
     * @param projectId projectId
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    List<HdApprovalForm> selectListByProjectId(String projectId);

    @DataSource(DataSourceType.HC_DOC)
    List<HdApprovalForm> selectListForPetitionAgent(String projectId);

    @DataSource(DataSourceType.HC_DOC)
    List<HdApprovalForm> selectListForYearFile(String projectId);

    @DataSource(DataSourceType.HC_DOC)
    List<HdApprovalForm> selectListForParkMonthly(String projectId);

    @DataSource(DataSourceType.HC_DOC)
    List<HdApprovalForm> selectListForSmallBid(String projectId);


    /**
     * 新增环创文档中心审批信息
     *
     * @param hdApprovalForm HdProjectInfo
     * @return 环创文档中心审批信息
     */
    @DataSource(DataSourceType.HC_DOC)
    int updateStatus(HdApprovalForm hdApprovalForm);


}
